package redis_case;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisCase1 {

    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost",6379);
        System.out.println(jedis.get("1"));
    }

    public void createPool(){

        /**
         * JedisPoolConfig poolConfig = new JedisPoolConfig();
         * 最大空闲数
         * poolConfig.setMaxIdle(50);
         * 最大连接数
         * poolConfig.setMaxTotal(100);
         * 最大等待毫秒数
         * poolConfig.setMaxWaitMillis(2000);
         * 使用配置创建连接池
         * JedisPool pool = new JedisPool(poolConfig,"localhost");
         * 从连接池中获取单个连接
         * Jedis jedis = pool.getResource();
         * 如果需要密码
         * jedis.auth("password");
         */

          JedisPoolConfig poolConfig = new JedisPoolConfig();
//          最大空闲数
          poolConfig.setMaxIdle(50);
//          最大连接数
          poolConfig.setMaxTotal(100);
//          最大等待毫秒数
          poolConfig.setMaxWaitMillis(2000);
//          使用配置创建连接池
          JedisPool pool = new JedisPool(poolConfig,"localhost");
//          从连接池中获取单个连接
          Jedis jedis = pool.getResource();
//          如果需要密码
          jedis.auth("password");
    }

    public void test(){
        Jedis jedis = new Jedis("localhost", 6379);
        int i = 0; // 记录操作次数
        try{
            long start = System.currentTimeMillis();//开始毫秒数
            while (true) {
                long end = System.currentTimeMillis();
                if (end - start >= 1000) {
                    // 当大于等于1000毫秒（相当于1秒）时，结束操作
                    break;
                }
                i++;
                jedis.set("test" + i, i + "");
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            // 关闭连接
            jedis.close();
        }
        // 打印1秒内对redis的操作次数
        System.out.println("redis每秒操作：" + i + "次");
    }
}
